package com.sleep.blog.service;

import com.sleep.blog.dao.pojo.SysUser;
import com.sleep.blog.vo.Result;
import com.sleep.blog.vo.UserVo;

/**
 * @author Sleep-6000
 * @date 2021/9/10
 */
public interface SysUserService {

    /**
     * 根据 authorId 查找用户
     * @param authorId authorId
     * @return 用户信息
     */
    SysUser findUserById(Long authorId);

    /**
     * 根据用户名和密码查找用户
     * @param account 用户名
     * @param pwd 密码
     * @return 用户信息
     */
    SysUser findUser(String account, String pwd);

    /**
     * 根据 token 获取当前用户信息
     * @param token token
     * @return 当前用户信息
     */
    Result findUserByToken(String token);

    /**
     * 根据 account 查找用户
     * @param account account
     * @return 用户信息
     */
    SysUser findUserByAccount(String account);

    /**
     * 注册用户信息
     * @param sysUser 用户信息
     */
    void save(SysUser sysUser);

    /**
     * 根据 authorId 查找 UserVo
     * @param authorId authorId
     * @return UserVo
     */
    UserVo findUserVoById(Long authorId);
}
